What is MultiCD ?

MultiCD is a utility for playing audio CDs and recording sounds from them using one or more CD ROM drives connected to a Macintosh. It arose out of my interest in doing several things on my computer and not being able to find an existing program to provide them:

MultiCD handles these functions in what I think is a fairly logical and compact fashion. It provides a user interface similar to the controls on an audio CD player with buttons to play, pause, step forward and backwards by a track, eject the disk and adjust the volume. Slightly less standard buttons allow you to switch to another CD drive, show and change the location on the CD, define two time marks on the CD and loop or record the audio between those two points.

 

Hardware Requirements:

MultiCD requires a Macintosh or compatible computer with a 68020, 68030, 68040 or PowerPC processor plus one or more internal or external CD ROM drives that are supported by the Apple CD ROM software.

I have tried MultiCD with the Apple 12x and 300i internal SCSI CD drives plus the following external SCSI models: CD600, CD300, CD150, CDSC Plus and CDSC. It recognizes all these flavors of drive and configures itself to the known oddities of each. If you have several CD drives they can be of different types. MultiCD also supports ATAPI drives.

The table below lists the memory requirements (RAM) when running MultiCD with two SCSI CD ROMs on a 68K processor or PowerPC computer. Using an ATAPI CD ROM increases the memory requirements on PowerPC by 100 Kbytes. To adjust the memory allocation: exit MultiCD, click once on the MultiCD icon, select Get Info from the File Menu or type command-i then type the desired memory size in the Preferred Size box in the dialog that pops up.

 Activity 68K or PowerPC with Virtual Memory Off PowerPC with Virtual Memory On
Minimum memory  360 Kbytes  160 Kbytes
 Playing CDs  450 Kbytes  200 Kbytes
 Recording from CDs  500 Kbytes  250 Kbytes
 Digital play of CDs  1.25 Mbytes  1.0 Mbytes

Making recordings can require many megabytes of memory depending on the length of the recording and its characteristics but in most cases MultiCD makes use of temporary memory and can adapt recording to the available memory. It is however a good idea to quit other applications and free as much memory as possible before making a large recording. Also bear in mind that there must be enough free space on disk to store any sound files you create plus in some cases scratch files created during recording.

 

Software Requirements:

MultiCD is available in two versions containing code optimized for operation on either a 680X0 or PPC processor. If you have one version and need the other check the place where you found this package and you will probably see it there. At present I am not distributing a "fat"version.

MultiCD requires at least system software 7.0 (system 7.1, 7.5, 7.6, 8.0 and 8.1 are fine). Using a version earlier than 7.0 will cause MultiCD to display an error message at startup and quit.

Apple CD ROM version 5.1 or later is recommended. Version 5.0 will mostly work but some MultiCD functions may not function as expected, specifically shuffle and programmed play.

Sound Manager version 3.0 or later is required to play CDs with MultiCD and version 3.1 is highly recommended. If you make recordings using MultiCD, version 3.1 of the Sound Manager is required to play mu law recordings, version 3.2 is needed to record in IMA4 format and version 3.3 is needed to play A law.

QuickTime version 2.0 or later is required to make and play QuickTime recordings from CD.

You can determine the version of Apple CD ROM, Sound Manager and QuickTime software installed on your computer you can look for files with these names in your extensions folder or select the item "List software used by MultiCD ..." under the Apple Menu.

You need to have the Drag Manager installed to support playing/recording CD tracks by dragging them to MultiCD.

 

Installation

To run MultiCD simply put the file "MultiCD"in a convenient location on your hard drive and double click to launch it.

It is recommended that you copy the entire folder "MultiCD Complete" to your hard drive so you can find the help files and extensions later. If you do separate the files in this folder it is important to keep the files in "MultiCD Documentation" in that folder since they depend on each other.

MultiCD does not require any extensions or other files to play CDs or make recordings. However, if you want to listen to recordings that use the diff compressor it is necessary to install the corresponding decompressor in the extensions folder of the System Folder. To do this simply drag the file "diff" from the Decompressor folder that came with MultiCD to the closed System Folder icon on your system disk. As well, to use IMA4, mu or A law compressed sounds may require updating your version of the Sound Manager extension as noted in the software requirements above.

More details on the diff, A law and mu law decompressors can be found in the separate document "About Decompressors" which is also in the Decompressor folder.

If you want CDs to play through your computer (either using the internal computer speaker or the sound output port) it is a good idea to explicitly identify the analog input to be used for each CD drive using the Analog Input submenu in the Playthrough menu. If there are several CD ROM drives connected to your computer use the Switch Drive button in the MultiCD Controller dialog to select each drive in turn and repeat this selection process. MultiCD will then remember which analog input is associated with each drive and automatically select the right input when you play a CD.

By default when you quit MultiCD it stores any options or preferences settings you made in a file called "Multi CD Prefs"in the Preferences folder in your System Folder. If your System Folder is read only or you don't want any more files stored in it you can disable creating this file by deselecting "Save settings and options between sessions" in the Preferences dialog while MultiCD is running (select Preferences from the MultiCD Edit menu).

If you have multiple CD ROM drives you may want to adjust the "Analog and Digital Play Preferences" in the preference dialog to fit how you expect CDs to behave when you switch between them.

 

Online Help

MultiCD provides online help with a summary of this documentation. To access this online help select the MultiCD Help item under the Help menu (? menu in System 7) or type command-?. Within online help you can click on underlined text to get more information on a given topic.

MultiCD provides balloon help which is also turned on and off through the Help menu.

 

Playing CDs with MultiCD

When you launch MultiCD you will see a dialog showing the status of the currently selected CD drive plus various control buttons. If you have multiple CD ROM drives MultiCD will pick one with an audio CD in it and display its status (normally "Stopped"). If no drive has a CD in it the first or last drive in the list will be selected and the status will be "No Disk". Which drive is selected when several are available is set by a preference.

By default the top line of text in the dialog shows the name assigned by the MacOS to the currently selected CD, the track number that is currently selected to play and the CD status. If there is no CD in the selected CD ROM drive its SCSI id and bus number (or ATAPI device id) is displayed. For example, in the sample display shown here the selected CD ROM drive contains "Audio CD 4" and track 1 of the CD is currently playing. If there were no CD in the drive it might say "Drive 4-1 No Disk" to indicate that the CD ROM drive at SCSI id 4 in bus 1 is selected.

A second line is displayed in the dialog when a CD is present in the drive to show either the current time on this track or the total elapsed time on the disk. Display of CD frames (1/75th of a second) can optionally be shown as well. In the picture at right the frames are not shown so the time indicate 0 minutes, 15 seconds on the current track.

If you click on the top line the display changes to show the name of the currently selected track if it is known. Clicking the first line when the track name is shown restores the display to CD name and track number. When no track name information is available clicking the first line has no effect.

An example of the track name is shown at right. In this example the second line shows the elapsed time on disk including minutes, seconds and frames.

MultiCD does not provide the capability to set the track names but there are numerous other programs that do, including the AppleCD Audio Player.

Obvious Buttons

Play: starts playing the CD if there is one in the drive and it is stopped or paused. For analog play it also selects the analog input associated with the CD drive if one was previously defined.

Pause: pauses playing if the CD is playing, resumes playing if the CD is paused.

Stop: stops playing and returns to the start of the CD, usually track 1

|<< : steps back to the start of the current track if more than two seconds of the track has been played. If less than 2 seconds have been played it steps to the start of the previous track. Holding down the option key while clicking this button steps to the start of the first track on the disk. This command applies whether stopped, playing or paused and will cancel looping (see Loop AB below).

>>| : steps forward to the start of the next track. If the CD is already on the last track it will step to the end of the last track. Holding down the option key while clicking this button steps to the start of the last track on the disk. This command applies whether stopped, playing or paused and will cancel looping (see Loop AB below).

Volume Bar: You can drag the slider to the right to increase the volume of the sound or to the left to decrease it. Clicking in the speaker icon to the right increases volume by one step and clicking on the speaker to the left decreases it by a step. In digital play mode it is possible to overdrive the volume above the "maximum"volume, the overdrive volume range is shown by red and black shading.

Eject : dismounts and ejects the CD in the currently selected CD ROM drive

Switch Drive: if multiple CD ROMs are available selects the next one on the list of available drives. Holding down the option key while clicking selects the previous entry in the list of drives. If only one drive is present this button has no effect. For CDs in analog play mode when you switch drives the original CD will remain in its current state (playing / paused / stopped) by default but this can be changed via a preference If the CD is in digital play mode the CD will be paused when the drive is switched.

A: saves the current location on the CD as time point A for use as the start point for looping and recording. Typing an A on the keyboard has the same effect. Holding down the shift key while clicking on this button or typing A causes the current location to be stored and pauses the CD at this point. Holding down the option key while clicking the button or typing A causes the CD to be positioned and paused at the previously stored A value.

B: saves the current location on the CD as time point B for use as the stop point for looping and recording. Typing a B on the keyboard has the same effect. Holding down the shift key while clicking on this button or typing B causes the current location to be stored and pauses the CD at this point. Holding down the option key while clicking the button or typing B causes the CD to be positioned and paused at the previously stored B value.

Loop AB: causes the audio starting at point A and ending at B to be played over and over until Loop AB, Stop, Record AB, |<< or >>| or the time is clicked. When you click the button it remains highlighted (black) until looping is stopped.

Record AB: stops playing the CD and saves the audio between time points A and B into a sound file. The selection of analog or digital recording is normally based on whether the selected CD drive supports digital recording. If digital recording is possible it will be selected otherwise analog recording is attempted. If you hold down the command key while clicking Record AB it will force analog recording to be selected. Information on recording from CD can be found in the section "Making Digital Recordings With MultiCD"and "Making Analog Recordings With MultiCD".

If points A and B have not been defined on this CD or A comes after B a loop or record request will fail.

Not So Obvious Controls:

Shortcut for positioning on a given track: If you type a one or two digit track number on the keyboard, for example 4 or 12, the CD will be positioned at the start of that track. If a second digit is not entered within 2 seconds after the first it is assumed that this is a 1 digit track number. Entering 0 or 00 will position the CD at the start of the first track (track 1 usually) and entering any number larger than the last track on the disk will position the CD at the start of the last track.

Typing a space pauses the CD if it is playing or starts playing if the CD is paused or stopped.

Clicking the first line in the display toggles between displaying the disk name and track number and displaying the track name, if track names have been defined for the current CD.

Clicking on the text "Time on disk" or "Time on track" toggles to the other mode of displaying the time.

Clicking to the right of the time will toggle the display of CD frames (1/75th of a second) on and off (e.g.. switch between 00:15 and 00:15-62)

Clicking above the minutes value increments the position on the CD by 1 minute. and clicking below it decrements the position on the CD by 1 minute

Clicking above any of the other digits in the time (tens of seconds, seconds, tens of frames or frames) increments that digit by 1. Clicking below any of the digits decrements the value.

Clicking on the close box of the window causes the program to quit.

Dragging a track from the CD window to the body of the MultiCD Controller dialog will play that track. Dragging the icon of a CD to the MultiCD Controlled dialog will start play at the first track on that CD.

Typing the > or right arrow keys is equivalent to clicking the >>| button and the < or left arrow keys are equivalent to |<<.

The up and down arrow keys raise and lower the sound volume.

 

MultiCD Menus:

Apple: Selecting About MultiCD... opens an animated dialog with copyright information and a button to invoke online help. You can check the status of system software needed by MultiCD by selecting the item "List software used by MultiCD...".

File: contains the Quit command to exit MultiCD.

Edit: normally provides access to MultiCD Preferences. When editing the CD track list this menu allows you to cut, copy or paste tracks within the list, select the entire list or undo a previous editing action .

CD Commands: contains items for most of the "obvious" buttons in the MultiCD Controller dialog plus items to record a whole track or a whole CD.

Playthrough: used to select analog or digital play, the analog source if your computer has one or more sound input ports and to modify the input gain (not supported on all computers). Note that if you want to have a MultiCD automatically select a particular sound input for a given CD drive you need to select this using the Analog Input submenu in the Playthrough menu. Settings made using this menu are saved when you quit MultiCD and restored the next time you run it.

The first entry in the Analog Input submenu under Playthrough is "No Source Selected" which means that when this CD ROM drive is selected or played the sound output will remain unchanged. This may be desirable if you listen to this drive through headphones or an external stereo. The second Analog Input item is "No Playthrough" which means that the computer's sound input is muted when this CD drive is selected or played. This is mostly used in digital play but may also be useful if you have more than one set of sound hardware in the computer and want to mute the "default" set. The remaining items in the Analog Input are the sound sources identified by the Sound Manager as being available on the computer. Sometimes these sources exist only in the imagination of the Sound Manager.

Play Mode: used to choose the order in which tracks are played: normal numerical order, shuffled order or using a previously programmed track list. A menu item is also provided for repeat play, that is to automatically start over playing the first track when the last track has finished. The last item in the menu opens a window to show the current CD track list which can be editted if the CD ROM drive supports programmed play. More information on these options can be found in "Selecting Which Tracks to Play".

Help: items are provided to invoke MultiCD online help or turn on balloon help.

 

Digital Play

If you have an external CD300 or later drive MultiCD gives you the option of reading the sound from a CD in digital form and playing it through the internal Mac speaker or an external sound system connected to the Mac. This option, referred to as digital play, is not as useful as it first sounds since it requires a large portion of the processing power of the Mac and if you try to do anything else you may hear breaks in the sound. However, if you are tired of listening to CDs through headphones digital play may be an attractive alternative.

To go into digital play mode simply select digital play in the Playthrough menu. If the currently selected CD does not support digital play this option will be grayed out in the menu and can not be selected.

Once in digital play mode operation is similar to what was described in earlier sections with a few exceptions:

To disable digital play mode for the selected CD go to the Playththrough menu and select analog play or one of the analog inputs. Whether digital play is on or off is indicated by a checkmark beside the digital play menu item. Note that digital play is a characteristic of the CD drive so if you have several drives one can be in digital play mode and others in normal mode.

Digital play involves creating quite large sound buffers to store the data read from disk and therefore MultiCD must be configured to use more memory. It is recommended to set the preferred size of MultiCD to at least 1200 K (1000 K for PPC) in the "Get Info" box before launching MultiCD if you want to use digital play.

 

Selecting Which Tracks to Play

MultiCD provides several ways to change the currently playing track or to determine the order in which tracks will play in future. These options apply only if the selected CD ROM drive supports programmed play.

You can change the currently playing track in any of the following ways:

To control the sequence in which the tracks on a CD play you can use the Play Mode menu. Three play modes are supported: normal play, shuffle play and programmed play. The play mode is associated with a particular CD ROM drive and applies to all CDs inserted in it. If there are multiple CD ROMs connected to the computer each can have its mode set individually. The mode is saved as a preference when you quit MultiCD and it will be restored the next time you run the program.

In normal play the tracks are played in numerical order: track 1 then 2, 3 and so on.

Shuffle play randomizes the order in which the tracks play. Each time you select "Shuffle Play" in the Play mode menu or insert a CD a different order is selected.

Programmed play selects which tracks to play and their order based on previously saved data. To use programmed play mode a track list must be defined for the currently selected CD as described below.

If the CD ROM drive supports programmed play you can create a track list by choosing the Show Current Track Sequence item in the Play Mode menu. If the track names are known this opens a dialog like that shown at right listing the track sequence currently being used with both the track numbers and names. If the track names are not know then just the track numbers are displayed as shown in the second example below.

If the CD ROM drive does not support programmed play the display is similar except that the erase, save and cancel buttons are replaced by a single done button since it is not possible to change or save the track sequence.

You can click on items in the list and use the commands in the Edit menu or their keyboard equivalents to cut, copy or paste tracks at that location. You can also use the keyboard delete key to remove items from the list. Edit menu items are provided to select all the tracks in the list or undo the last action.

The up and down arrow keys can also be used to move the selection point up and down in the list. Holding the shift key while typing an arrow key extends the selection by one in the desired direction. Typing command up or down arrow jumps to the first and last items in the list respectively.

To add tracks to the list open the icon for the audio CD and drag one or more tracks to the track list window. A grey line is drawn in the list to show where the tracks will be inserted. A track list is associated with one CD so you can not drag tracks from other CDs to the list.

You can also add items to the list by typing the one or two digit track number. The number must be unique so if there are 10 or more tracks on a CD you need to type 01 or 1 followed by a 5 second pause to select the first track, if there are 20 or more tracks you must do the same for the second track and so on.

The same track may appear multiple times in the list but the last entry in the list must not be repeated elsewhere. For example, a list containing tracks 2, 2, 4, 2, 6, 4, 8 is okay but 2, 4, 6, 8, 4 is not since the last entry (4) appears twice in the list.

When you have identified the tracks and sequence you wish to use click SaveTrack List to store the list. To exit without saving anything click cancel. Once a track list is saved it is kept on disk and can be reused whenever that CD is inserted in any CD ROM drive on that computer and programmed play mode is selected.

An alternative to using the Play Mode menu to define a track list is to open a CD on the desktop, select a group of tracks from it you wish to play and drag the tracks to the MultiCD Controller dialog. The tracks will automatically be saved as the track list for that CD and start to play. One difficulty with this approach is that the order in which the tracks play can not be determined.

The Play Mode menu contains a "Repeat Play" item as well. If this item is selected when the last track on the CD is played MultiCD will automatically jump to the first track an continue playing.

Some older CD ROM drives do not support changing the track sequence and for these drives the Play Mode menu is disabled.

While in shuffle or programmed play mode looping and recording can only be performed within a given track, that is time points A and B must be on the same track.

 

Recording from CD with MultiCD

Two modes of recording are supported:

Digital Recording: reading 16 bit, stereo 44100 samples per second data directly from the CD. You will need an Apple CD300 or later CD ROM drive to make digital recordings since earlier drives do not support software access to the contents of audio CDs. Options are provided to convert this data to a lower sample rate, 8 bits or mono sound, amplify the sound, compress it, remove silent periods at the start and end, record backwards and apply anti-alias filtering.

Analog Recording: using either built in or external analog sound input hardware to record the analog output signal from the CD. You will need a Mac with a built in sound input or external sound input hardware that recognizes commands from the Apple sound software. Options are provided to specify the sample rate, 8/16 bits, stereo/mono, amplification, compression, recording backwards, automatic gain control and removing silence at the start and end of the selection. MultiCD will adapt to the available hardware such as whether or not 16 bit or stereo recording is supported and available sample rates and only show options supported by your hardware and software configuration.

Note: recordings made as snd resources or QuickTime files will play if you double click thembut there is nothing built into the MacOS to play AIFF, wave or AU sounds automatically. One way to play these latter file types is to get a copy of "Fast Sound Player" a bare bones sound player I wrote for this purpose.

 

Making digital recordings with MultiCD

The first step in recording is to define the start (A) and stop (B) points of the desired sound. You can do this using the A and B buttons in the MultiCD Controller dialog or the keyboard equivalents then clicking the Record AB button. Alternately you can select a whole track via the CD menu or dragging one or more tracks from a CD to the Record AB button in the MultiCD Controller dialog. If the selected CD ROM drive supports reading digital data from the CD and time points A and B are valid a record dialog will appear as shown below.

This is the main options dialog for recording and allows you to customize the recorded sound to obtain the desired sound quality and size.

The following settings are available:

Sample Size: determines if 8 or 16 bit sound samples are stored.16 bits gives "CD quality"sound but consumes twice the space and the resulting sound file will not play on some older computers.

Channels: determines if the recording is stereo (2 channels) or mono (1 channel). When mono mode is selected two check boxes are enabled to let you choose to record the left channel only, the right channel only or the two channels combined. Some Macs only support mono sound output although they can convert stereo to mono on the fly during playback if Sound Manager 3 is installed.

Amplification: this is a "popup"menu allowing you to amplify or attenuate the sound read from the CD. The "none" setting means the samples are copied unchanged from the CD. If you want a louder sound pick a multiplication factor, e.g.. x 4, and for a quieter sound pick a division factor, e.g.. / 8. MultiCD automatically limits the amplification to stay within the 8 or 16 bit sample range and avoid clipping the signal in normal operation. If the sound is too large to fit into memory and it is necessary to record the sound in pieces this limiting will not occur.

Samples per second: another popup menu. "CD quality" sound is 44100 samples per second but in most cases there will be little or no noticeable loss of quality if you use 22050 or even 11025 samples per second and the sound file will be much smaller. Lower sample rates will result in a loss of high frequencies.

To put things in perspective: 22050 gives about the quality of FM radio, 11025 gives AM radio quality and 8000 is telephone quality. For sample rates of 11025 or lower better sound quality will result if you use the digital filtering option (see the description of "More Options" below).

Sample rates below 8820 are mostly for special effects or to demonstrate the effects of bandwidth limited channels to the curious. Sample rates of 22254 and 22050 or 11127 and 11025 will produce nearly identical sounds but 22254/11127 are supposed to play better on older Macs while 22050/11025 work better on AV and PowerPC Macs since these are the preferred operating frequencies of the respective hardware.

Compression: this popup menu allows you to apply the Apple 3 to 1 or 6 to 1, ITU µ (mu) law, ITU A law, IMA4 or a custom differential (diff) compression algorithm to the sound. The table below summarizes their characteristics. Compression is shown relative to a single channel 16 bit sound.

 Name

 Input Samples

Compression

Decompressed Size

 Notes

3 to 1

8 bits

3 samples / byte (6 to 1)

 8 bits

mono only

6 to 1

8 bits

6 samples / byte (12 to 1)

 8 bits

mono only

 mu law

16 bits

1 sample / byte (2 to 1)

 14 bits

requires Sound Manager 3.1 to play

 A law

16 bits

1 sample / byte (2 to 1)

 13 bits

requires Sound Manager 3.3 to play

 IMA4

16 bits

 2 samples / byte (4 to 1)

 16 bits

requires Sound Manager 3.2 to record

 diff

8 bit

 2 samples / byte (4 to 1)

 8 bits

requires diff extension

Some sound formats are only supported by MultiCD for a subset of the compression types. (see "Setting the Sound Format" for more details

To play back differential (and possibly A law) sounds requires placing a decompressor extension in your system folder. Read the separate document "About Decompressors" for more information on this.

Record Backwards: this is useful for special effects or looking for hidden messages on a CD.

Remove Silent Parts (VOX): if this option is selected the sound is scanned after being amplified and any portions below a threshold at the start or end of the sound are removed. This is useful for avoiding a long silent period at the start or end of a sound. You can do the same thing manually by selecting points the start and stop points A and B carefully but using this option may be less work.

Sound Format/Change: MultiCD supports recording to 5 different sound formats; an Apple sound resource, AIFF, QuickTime, wave or AU. Clicking on the "Change" button allows you to modify this choice and also select the creator for the file (the application that is launched when you double click the sound file). For more details on these options see the section called "Setting the Sound Format".

Cancel Recording: returns you to the main MultiCD menu without making a recording. Any option settings selected will be saved. Typing escape or command-period also cancels recording.

OK: this starts the digital recording process. Pressing the enter or return key has the same effect.

More Options (digital):

When digital recording has been requested clicking the More options button in the CD Recording Options dialog brings up a secondary window with options related to applying a low pass digital filter to the sound before reducing the sample frequency. This will avoid a process known as "aliasing" where frequencies above one half the sample rate beat against lower frequencies and distort the resulting sound.

Averaging the sample values is very fast but does a relatively poor job of filtering. Fast, middle and accurate are 3 options for the complexity of the filter used and the resulting accuracy (fast means less accurate, accurate means slower). For all 3 cases you can identify the highest frequency allowed. The default value is one half of the sample rate which is also the highest allowable value.

See "More on Filtering"for additional information.

Click in the OK button, or type enter or return, to go back to the main recording options dialog. If the selected cutoff frequency is more than half the sample rate you will be prompted to adjust it before you leave this dialog.

 

Making analog recordings with MultiCD

To make a recording you must first define the start (A) and stop (B) points of the desired sound. You can do this using the A and B buttons in the MultiCD Controller dialog or the keyboard equivalents then clicking the Record AB button. Alternately you can select a whole track via the CD menu or dragging one or more tracks from a CD to the Record AB button.

Analog recording is automatically selected if the CD drive does not support reading digital data from the CD. If the option key is held down when the Record AB button is pressed or while you drag a CD track to the Record AB button analog recording will be selected even if digital recording is possible.

If the Mac does not have internal or external sound input hardware analog recording is not possible and an error message will be displayed when analog recording is requested.

MultiCD relies on you to connect the analog output from the CD drive to the sound input port for the Mac. I won't attempt to describe how to do this due to the number of possibilities but if in doubt consult the manuals for the CD drive, your Mac and the external sound hardware if any. MultiCD displays a dialog reminding you to hook up the hardware and allowing you to select the sound source and record volume each time an analog recording is performed.

Once you get past this stage you will see the CD recording options dialog. It is identical to the dialog for digital recording except with different sample rate choices. MultiCD queries the hardware to determine the sample rates supported and whether 16 bit or stereo recording is allowed so what is shown will vary depending on your hardware configuration. If the hardware does not support an option like 16 bit or stereo recording it is grayed out in the window.

The meanings of all the fields are the same as for digital recording except for "More Options" which displays a dialog allowing you to change the input hardware and volume as described below.

More Options (analog):

Clicking the More Options button in the CD recording options dialog when making an analog recording brings up a dialog box that lets you specify:

Analog input: a popup menu to select which sound hardware/source to use for the recording. These are the same choices provided in the analog source submenu of the Playthrough menu but are repeated here in case you want to make a change without quitting the record dialog.

Record volume: often a comfortable CD volume level for playing a CD is too quiet or too loud for an analog recording. This menu lets you select one of 7 settings ranging from very quiet to maximum volume. This setting should not affect the volume used to play CDs (it didn't on any of the computers and CD drives I tested with but sound hardware varies a lot between computer models)

Read as 16 bit, convert to 8 bit: this option is only available if the sound input hardware supports 16 bit recording and an 8 bit sound file is requested. When enabled the sound is read in and amplified as 16 bits then converted to 8 bits just before the sound file is saved to disk. This results in a slightly "cleaner"sound file even if no amplification is performed.

Automatic Gain Control: in theory this should adjust the sound input hardware to apply the optimum amplification to the input signal. It doesn't seem to do much on the Macs I've tried MultiCD on but maybe it will do something on your hardware.

To return to the main record options window click on OK or the return or enter keys.

 

What happens during recording ?

When you hit the OK button in either the analog or digital recording options windows that window will disappear and be replaced by another asking you to name the file and show the location where you want it stored. If you cancel this dialog you will be returned to the record options dialog. If you select Save recording begins.

During recording a dialog appears showing the progress step by step and an animated cursor appears showing a rotating CD. You can cancel the recording from this dialog by clicking the stop button. For digital recording you will not hear the sound while it is being recorded so don't worry if things seem very quiet. After the sound is read in and reformatted as requested you are then given the option to play the sound (if you didn't cancel), return to the record window to re-record the sound or return to the main MultiCD window (Done).

MultiCD attempts to create a temporary buffer in memory to store the whole sound and then process it. For digital recording if there is not enough memory MultiCD will attempt to read the sound in 2 second pieces, processing each to reduce its size on the fly. Recording in pieces does not support anti-alias filtering, can not check if the amplification is set too high and is not as precise in processing the signal so there is some loss in quality in the resulting sound. As well, recording in pieces is not always reliable since it is necessary to process the sound data as fast as the CD is dumping it out. If the Mac gets interrupted to do something else the sound file may end up with a small part of the sound lost or duplicated. If this occurs a warning dialog will be displayed giving you the option of stopping the recording or continuing. Normally these errors are not audible since they only last about 2 ms. If there are a lot of errors or a larger block of data is lost the recording will be stopped and an error message displayed.

While recording in pieces you can stop recording at any time by hitting the stop button in the progress dialog or typing return, enter, escape or command-period. Certain operations can not be interrupted and the stop button is only shown during the periods when recording can be stopped.

For AIFF, QuickTime, Wave and AU sound formats the sound is saved to disk as it is processed but for sound resource recording the sound file is saved at the end of recording. This can take several minutes to write a large sound file to disk with no way of stopping it. I haven't figured out any good way to indicate that the program hasn't died during these periods so for the moment you'll have to trust the program to do its job and be patient during these activities.

 

Setting the Sound Format

When you click the change button in the CD Recording options dialog the dialog below is displayed.

As mentioned previously MultiCD supports 5 sound formats:

sound(snd) resource: this is the normal "system" sound you can make into your system beep. For most sounds you intend to use on the Mac this is a good choice unless the sound is very big. All MultiCD compression types are supported for this format

AIFF file: for very large sound files used on the Mac this is a better format since it does not have the size restrictions imposed on a resource. It supports all of MultiCD's compression types

WAVE file: this is a format commonly used on PCs so if you need to send a sound to that other kind of computer you may want to use this. Only 8 and 16 bit uncompressed, A law and mu law compression are supported.

AU/ulaw file: this is a format often used on web pages and some unix machines. It can contain uncompressed 8 or 16 bit sounds as well as mu law and A law.

QuickTime: two versions of this format are supported, regular QuickTime and "flat". The difference between the two is that a regular file has information about the sound split between the resource and data forks while flat files have all the information in the data fork. The regular format is more Mac-like while the flat format is more compatible with other platforms like PCs. Both formats support all compression types except differntial. MultiCD creates a temporary file on disk while recording a QuickTime file. This temporary file is roughly the same size as the final QuickTime file so you need to have more free space on disk than for the other formats.

For more information on the compression types listed above (A law, mu law etc) see the previous description of Compression in the recording options section.

There are two related aspects to creating a sound file in a given format, the internal format of the sound and the recommended application to play it . The information is provided by means of two codes stored within the sound file:

Creator : a 4 character code which indicates the default application to use to play the file and the icon used for the file. (see Note below)

FileType: a 4 character code that gives an application trying to play the sound some information on the internal format of the file

In general it is recommended that you simply select the sound format in this dialog via the topmost pulldown menu. This will assign default file type and creator codes to the sound file and you can ignore the lower two boxes. However, if you want to change the file type and creator you can do so either clicking on a box and typing in the value you want or by dragging a sample file from the application you want to use to one of the boxes. To change both file type and creator you need to drag twice.

After selecting the sound format, file type and creator click the Done button to return to the CD recording options dialog. Clicking on the Revert button restores the format, file type and creator to the values they had before the dialog was opened. Clicking the Default button does not change the format but sets the file type and creator to default values for that format.

Note: recordings made as snd resources or QuickTime files will play if you double click them but there is nothing built into the MacOS to play AIFF, wave or AU sounds automatically. One way to play these latter file types is to get a copy of "Fast Sound Player" a bare bones sound player I wrote for this purpose. By default MultiCD creates AIFF, wave and AU files that automatically launch Fast Sound Player when you double click the sound file.

Block Recording

It is possible to record multiple tracks on the CD either by selecting Record Whole Disk from the CD commands menu or dragging a selection of tracks from the CD to the Record AB button in the MultiCD controller window. The standard CD recording options dialog is then presented allowing you to select mono/stereo, compression, sound format etc. The same settings will be used for all the recordings. When you click OK to continue a dialog is presented to allow you to define the "base" name for the group of recordings. MultiCD will take this name and append xx to it where xx is the track number for a given recording. For example, if the base name was "My Sound" then a recording of track 4 would be named "My Sound04". After you enter the base name, recording starts and a dialog is displayed showing the progress on each file.

 

MultiCD Preferences

If you select Preferences... in the Edit menu a dialog will come up allowing you to set various MultiCD options.

Use first/last CD at startup: If you have several CD drives you may prefer to use one for playing music. MultiCD scans the SCSI chain from ID 1 to 7 then looks for ATAPI drives at startup and you can select whether it should default to showing the status of the first or last drive it finds. If you have 3 or more drives and want the middle one you're out of luck at present. Note that if only one drive contains a CD when MultiCD starts up that will be the one whose status is shown regardless of this option setting.

Display error codes when CD commands fail: Outputting error codes when commands fail is mostly a debugging feature for me. If the program seems to be ignoring you turning on this option will give some indication that something is going on and the error codes are standard Apple return codes so you can try interpreting them if you are curious. MultiCD will generate spurious errors at startup and shutdown if the drive is empty or has a non-audio CD in it.

Save settings and options between sessions: Normally you would want to save settings between sessions. If you prefer to keep your preference folder uncluttered or not save the preference changes you make you can turn off saving the preferences. Note that the preferences saved include the display and recording options you select plus trogrammed track lists as well as the settings from this preferences window. If you already have a preferences file and turn this option off then when you click OK you will be asked if you want to erase the stored preference file. If you keep the stored preferences but turn off saving changes you will always have exactly the same configuration at startup. If you choose to erase the preferences a flag will be saved within the MultiCD application itself to indicate that preferences are not to be saved. When you first install MultiCD the save settings option is turned on by default. Note that it is not possible to change MultiCD while it is being shared in which case this option will be disabled (greyed out).

Enable sharing MultiCD over a network: by default MultiCD is set up to only run by one computer at a time. If you want to share a single copy of MultiCD via a network and allow several computers to run it at once turn this option on. Note that a side effect of this change is to make MultiCD read only while it is running on any computer so it is not possible to modify MultiCD to not save settings and options (the option above) while sharing is on.

Show reminder about setup before analog recording: If the CD supports digital recording you will probably prefer to have MultiCD read the data off the disk digitally but if analog recording is desired you need to provide the wiring from the CD analog output to the Mac sound input. MultiCD has no way of knowing if this wiring is present so it issues a reminder to the user every time an analog recording is requested. If you get tired of the warning you can turn it off.

Show warning before starting to record in pieces: If MultiCD is unable to read the whole sound into memory during digital recording it will attempt to read the sound in 2 second pieces. Since this disables anti-alias filtering and results in some loss of sound quality a warning is displayed when recording in pieces is necessary and provides the option to abort recording. If you get tired of this message a preference is provided to turn it off.

Block other activities during digital playback: Blocking other activities during digital play gives MultiCD a bit more processor time. When turned on a modal dialog is displayed while the CD is playing with only a subset of the CD commands available. Turning off this preference leaves the normal CD control window available during digital play but makes it more likely that there will be breaks in the sound when the processor fails to keep up with the data from the CD. This preference is off by default.

Use 16 bit stereo for digital play: turning this on produces a better sound if your Mac's sound hardware can output 16 bit stereo. This applies mostly to AV or Power Macs. When this preference is off 8 bit monophonic sound is used which is all that many Macs can handle. If you select 16 bit stereo on a Mac with Sound Manager 3 it will convert the sound to 8 bit mono if necessary so you will still hear the sound but this is extra work for the processor and may cause breaks in the sound if it can't keep up. This preference is off by default.

What to do when switching between CD drives: if two or more CD ROM drives are present and contain audio CDs it may be desirable to have several playing and switch between them. This set of options allows you to determine how this is handled. If you only have one CD ROM drive you can ignore these options.

Switch analog input is on by default and the other two settings are off. If this seems too complicated to sort out there is a simple workaround, clicking the Play button in the CD controller dialog always selects the sound input associated with the CD being displayed.

 

More on Filtering

It isn't really necessary to understand how MultiCD implements low pass filtering in order to use it but if you are curious read on.

When you request low pass filtering during recording MultiCD starts with a truncated version of a n ideal rectangular low pass finite impulse response filter with a 3 dB frequency 1 kHz below the requested frequency. It then applies a Hamming (fast) or Blackman (medium or accurate) window to make up for this truncation. This gives a theoretical stop band attenuation of 50-70 dB and a transition width of 1 to 2 kHz Hertz depending on the type of filtering requested.

English translation: Each output sample from the low pass filter is a linear function of n input samples. Input signal frequencies from 0 to about 1 kHz below the requested frequency pass through the filter pretty much unaltered and input signal frequencies above the requested frequency are reduced to about 0.1 % of their input level.

By putting the start of the transition 1 kHz below the requested frequency this ensures very little signal gets through above this frequency and avoids aliasing if the requested frequency is close to half the sample rate.

Fast filtering uses n = 89 stages, medium uses 151 and accurate uses 265. With 44100 input samples per second this gives transition widths of 2 kHz, 1.75 kHz and 1.0 kHz respectively.

Since MultiCD does n/2 32 bit multiplications and n 32 bit additions per output sample from the filter you can see why it takes a while to perform the filtering.

It is possible to build a much better filter (faster transition or more stop band attenuation) but I could not find any closed form method of creating one for an arbitrary cutoff frequency. If you are aware of a better algorithm please let me know.

Reference: A. V. Oppenheim and R. W. Schafer "Digital Signal Processing", Prentice Hall, 1975

 

Warnings and Known Problems

16 bit sounds:

Playing a 16 bit sound on a Mac that only supports 8 bit playback and does not have Sound Manager 3.0 installed will result in a very loud noise that may damage your speakers and/or hearing. MultiCD won't run without Sound Manager 3.0 so this is mostly an issue if you make a recording on one computer and play it on another. Please check the manual that came with the computer and if still in doubt try playing a very short 16 bit sound (1 second or less) initially.

Interactions with Virtual Memory and RAM Doubler:

MultiCD makes extensive use of temporary memory since it needs about 300 kilobytes to play a CD but could require tens of megabytes to do a large digital recording. It uses the standard Apple utilities to check for and reserve memory for the recording and handles the case were insufficient memory is available gracefully. However, once the memory is allocated MultiCD assumes it can have instant access.

MultiCD works properly with virtual memory turned on or Connectix RAM Doubler installed when playing CDs and for recording up to the point where it is not possible to fit the entire sound into physical memory. If virtual memory or RAM Doubler need to write to disk to free up memory this consumes too much time, MultiCD can not keep up with the CD data rate and recording fails due to excessive CD read errors.

Memory leakage:

For some versions of the Mac OS the dialog to save a recorded sound may leak about 80 - 150 bytes of application memory every time it appears. This will eventually consume all the memory allocated to MultiCD so if you are making a lot of recordings you should quit MultiCD and run it again every 20 recordings or so.

Disk space for QuickTime files:

MultiCD creates two copies of the sound on disk while formatting a QuickTime sound file. The second copy is deleted after recording is complete but during recording you need to have more free space on the selected disk for QuickTime recording than for other sound formats.

Playing multiple CDs at once:

MultiCD supports multiple CDs playing in analog mode at the same time. The currently selected CD will normally determine which analog input source is used so as you switch from one CD ROM drive to another the CD being played through the computer's speakers will change. For some computers with internal CD ROM drives and Sound Manager version 3.2 and earlier the sound from the internal CD will be heard even when another sound input is selected with the sound from the two CDs mixed together. You can avoid this by selecting the "Pause old CD" preference so that only one CD will be playing at a time. As well, if your CD-ROMs connect to a sound system without going through the computer switching to another CD within MultiCD will not affect the sound you hear. In this case you should select "No Playthrough" from the Analog Input submenu (under Playthrough) for these CD ROM drives.

Playing damaged CDs:

In digital play mode some CD ROM drives will make repeated attempts to read the CD if it is scratched or dirty. This may cause the sound to pause and/or MultiCD may appear to lockup for a few seconds. If this occurs repeatedly MultiCD will automatically pause and display an error dialog asking you how to proceed (stop play, continue or skip forward 30 seconds on the CD).

Colored menus:

Currently the appearance of the dialogs in MultiCD are optimized for Mac OS 8. The most noticeable effect of this is that if you run MultiCD under OS 8 the popup menus are coloured while under OS 7.6 or earlier they are not. If you would like to get coloured menus with an earler version of the OS send me an email and I'll tell you how to do it.

Ownership of CD contents:

The contents of an audio CD are in general copyrighted and you should not distribute recordings you make without the consent of the copyright owner. MultiCD is intended for personal entertainment only. If you intend to use this software for other purposes I suggest you investigate the legal implications since I am not in a position to advise you on this and can not be responsible for any consequences.

 

Version History

release 1.0, June 1994

- initial version

release 1.1, May 1995

- add custom µ-law, A-law and differential compressors within MultiCD

- saving preferences to disk

-options of left, right or combined for mono recording

- allow looping to continue while the preferences or about dialogs are displayed

- support escape and command-period key presses as cancel requests where appropriate

- add recording in pieces

-various bug fixes

release 1.2, December 1995

- add 11127 and 22254 sample rates for recording

- fade the sound in and out to avoid a click at the start or end of a sound recording

- support Apple µ-law decompressor which was added by Sound Manager 3.1

- add a digital play option

release 1.3, September 1997

- add IMA4

- add support for AIFF/QuickTime/Wave/AU recording

- add online and balloon help

- create PowerPC and fat versions

release 1.4, June 1998

- add shuffle and programmed play modes plus the ability to display the track sequence

- add ability to drag a group of tracks to play them

- make handling of low memory more robust

- add software information dialog

- improved the selection of an analog sound input

- support for ATAPI CD ROMs

- support for displaying track names

- support Apple A-law compression (with Sound Manager 3.3)

 

Copyright and Credits

The majority of the code is © Alex Newcombe, 1994 through 1998.

This program also incorporates portions of the following software:

TApplication © Apple Computer, 1989

StdPrefsLib by Gary Woodcock, © Apple Computer 1993-94

MoreFilesExtras by Jim Luther, © Apple Computer 1992-94

These are used in accordance with the conditions of the Apple Software License Agreement on the Develop Bookmark CD.

 

MultiCD is distributed as is with no warranties expressed or implied about what it may or may not do on your computer. Although the author is interested in hearing about any problems you encounter and will attempt to fix them in future releases anyone using MultiCD does so at their own risk. If you are not prepared to accept those risks your only remedy is to not use MultiCD.

The author is not aware of any other copyrights or patents other than those listed above that are applicable to this software but makes no warranty of non-infringement of third parties' rights. Under no circumstances will the author accept liability for any direct or indirect damages or expenses you may incur from using or inability to use this software or any recordings made with it, including but not limited to loss of data, loss of profits, interruption of business or similar. There is no warrantee that this software will meet your particular requirements, that it is error free, that it will function uninterrupted or that defects in the software will be corrected.

This software is free in the sense that no payment is expected for it but the author reserves all rights to the software written by him.

Permission is NOT granted for modification of this program in any fashion without the prior written permission of Alex Newcombe. Any distribution of this software must include unmodified versions of MultiCD, all documentation and the decompressor extensions (diff and Alaw).

How to contact the author: eanewcombe@aol.com

 

Apple, QuickTime, Mac and Macintosh are trademarks of Apple Computer Inc.

RAM Doubler is a trademark of Connectix Corp.

PowerPC is a trademark of International Business Machines Corp.